1. Field
Embodiments relate to the management of frame priorities in Fibre Channel.
2. Background
Fibre Channel is a switched communications protocol that allows communication among computing devices. Fibre Channel may be considered to be a channel and network hybrid, containing enough network features to provide the needed connectivity, distance and protocol multiplexing, and enough channel features to retain simplicity, repeatable performance and reliable delivery. Fibre Channel is capable of transmission of frames at rates extending from 1 Gbps (gigabits per second) to 32 Gbps or more. It is also able to transport commands and data according to existing protocols and/or formats such as Internet protocol (IP), Small Computer System Interface (SCSI), High Performance Parallel Interface (HIPPI) and Intelligent Peripheral Interface (IPI), Fibre Connection (FICON), count key data (CKD), enhanced CKD (ECKD), etc.
In certain situations, Fibre Channel is used to connect one or more devices, where the devices may include computing and storage devices. In the terminology of Fibre Channel, each of these devices is considered a node. One node may be connected directly to another, or may be interconnected, such as, via a Fibre Channel fabric. The fabric may be a single Fibre Channel switch, or a group of switches acting together. Multiple Fibre Channel switches may be combined into a single fabric.
Fibre Channel data is formatted into variable length frames. Each frame may include a header and a data payload field. The integrated set of architectural standards that describe the formatting of Fibre Channel frames, data transfer mechanisms, and other aspects of the Fibre Channel architecture are being developed by the American National Standards Institute (ANSI).
“Fibre Channel Framing and Signaling-4 (FC-FS-4)”, Rev. 0.50, published May 16, 2014 is a working draft proposed by ANSI, and describes the framing and signaling requirements for Fibre Channel links. “Fibre Channel Link Services (FC-LS-3)”, Rev. 3.10, published Feb. 1, 2014 is a working draft proposed by ANSI, and describes the link services requirements for Fibre Channel.
FICON (Fibre Connection) is a Fibre Channel Protocol and may also be referred to by the formal names of FC-SB-3, FC-SB-4, or FC-SB-5. The protocol and functions specified by FC-SB-3 continues to be supported in FC-SB-4 and FC-SB-5, and further details of FC-SB-5 may be found in the publication, “FIBRE CHANNEL Single-Byte Command Code Sets Mapping Protocol-5 (FC-SB-5)”, Rev. 2.0, published Mar. 26, 2013 by ANSI.
FICON is a Fibre Channel layer 4 protocol used to map certain types of channel to control unit cabling infrastructure and protocol onto standard Fibre Channel services and infrastructure, where a channel is a direct or a switched point-to-point connection between communicating devices. FICON uses two Fibre Channel exchanges for a channel to control unit connection—one for each direction. So while a Fibre Channel exchange is capable of carrying a command and response on a single exchange, the response to a FICON information unit (IU) is always on a different exchange from the IU to which it is a response. The two exchanges that implement a connection are called an exchange pair.
A storage controller is computational devices that controls access to one or more storage devices. Host computing systems may access data stored in the storage devices via the storage controller that may be coupled to the host via a Fabric. Thus the storage controller and hosts may operate in a Fibre Channel environment and may be coupled via a Fabric.
Priority of frames may be maintained within the same exchange, in computing environments that use the Fibre Channel Protocol. For example, a host may send a Fibre channel frame to a fabric and indicate a priority for the Fibre Channel frame in a priority field in the header of the Fibre Channel frame. The fabric which supports priority indications for Fibre Channel frames may forward the Fibre Channel frame to a storage controller. As a result, the storage controller receives the priority indicated by the host.
While responding to the host via the fabric, the storage controller may respond with frames that have the same priority indicated originally by the host. As a result, the host receives the response of the storage controller with the same priority as the priority indicated by the host.